sourcefilmmakerfandomcom-20200214-history
Fixes, Tips, and Other things
Many fixes and tips have been posted, But having them in one handy article is even more convinient Turn Off Progressive Refinement By Swampie Turning off Progressive Refinement can greatly improve performance by two-fold! It is not recommended to leave it turned on as it can greatly impact Source Filmmaker's performance while working. Progressive Refinement is turned on by default when you load up Source Filmmaker. To turn it off, do the following steps #Right click in your Engine Viewport #Click on Progressive Refinement And that's it, to turn it back on simply repeat the steps again. Dynamic Lighting by Darknomni #Start SFM #Press F10, F11 #Enter mp_flashlight 1 in console #Enter mat_supportflashlight 1 in console #Enter r_flashlightscissor 0 in console #Enter "bind anykey "impulse 100" and change anykeyhere to any key (derp). #Use create a server button to pick a map #When loaded, pick any class #To record flashlight, move to a position you want your flashlight to be and aim it where you want it to be #Disable recording world and sound, so the puppet class doesn't show up #Don't turn your flashlight on, and start recording. BEFORE the four beeps end, turn ON your flashlight. #Make it really short, end the recording as soon as the four beeps end, and you should have a light. #Now, right click on the shot in the timeline, and click "Zoom In" #There should be Take1 there, if you haven't recorded anything but the light. If you HAVE, and there's Take1, Take2, etc, just pick the one with the largest number, as that'd be the most recent. #Right click the take and hit "Properties" #In the DME Element Editor, you should see take1. Go down THIS EXACT PATH in the DME Element Editor: take1 > tracks > Lights > children > flashlightChannelsClip > channels, here you will see three TO four categories called "Visible", "Position", "Orientation", and MAYBE "minDistance". #Delete position, orientation, and minDistance, but keep Visible. #Go into visible > fromElement, here you will find all the values for editing the flashlight. : shadowFilterSize: Blurriness of shadows. : shadowDepthBias, shadowSlopeScaleBias: Changes accuracy of shadows, can cause artifacts if set too low. : horizontal/verticalFOV: Changes how tall/fat the flashlight projection is. : texture: Changes the texture of the flashlight to whatever material. : constant/linear/quadraticAtennuation: Seems to change the brightness of the light over distances. : maxDistance: Visibility of the light from this distance. : intensity: As you guess, changes how intense the light from the flashlight is. : color: Self explanatory, comes with a neat little menu that sometimes fails to load. : visible: Self explanatory. Moving Camera Without Player by Croshi #Create Animation Set > Camera#. #Select Transform. #Select the Manipulation tool. #Go into Work Camera. #Get somewhere near the camera. #'BEFORE YOU MOVE THE CAMERA' note that there is no blue line on the timeline for the rotation or just placement. To make those blue lines, just click on the yellow square/the middle of the green red and blue rotation circle. Custom Maps by Met48 Source Filmmaker cannot accept the newer version of VTFs (material files) - however, I've written two scripts to help fix these issues. Before continuing, you will need to download and install Python. Running Python Scripts Method 1: #Save the file to the directory with the materials/maps you wish to fix. Make sure to use a .py extension #Double-click it to run Method 2: #Open IDLE (Python GUI) #Choose File->New Window #Copy the code into the 'Untitled' window #Click File->Save As... #Browse to the directory with the materials/maps you wish to fix #Click 'All files (*.*)', then choose 'Python and text files (*.py, *.pyw, *.txt)' #Choose a filename, eg. 'lowerVTFVersion.py' (no quotes) #Click Save. #Click Run->Run Module #The IDLE window will reselect and tell you what directory it will affect. Confirm this is correct, then press enter. #Sit back and wait. To Fix Materials This only needs to be run once, after you extract the materials folder from the TF2 GCF via GCFScape. It will affect every .vtf in every subdirectory, so you can just drop it in the materials folder. #lowerVTFVersions.py #Script by Met48 #Place in tf/materials before running import os import struct from os.path import join unchanged = 0 changed = 0 print "Modifying files within", os.getcwd(), "(including subdirectories) raw_input('Press enter to continue.') for root, dirs, files in os.walk(os.getcwd()): print "opening" , root for name in files: if 'vtf' in str.lower(name): f = open(join(root,name), 'r+b') #Open to read & write in binary if 'VTF' f.read(3): #Get version number f.seek(5,1) ver = ord(f.read(1)) #Correct if ver 4: f.seek(-1,1) f.write(struct.pack('i',3)) print '*\tchanged', name, " (was VTF version", ver, ')' changed+=1 else: print '\tskipped', name, " (VTF version", ver, ')' unchanged+=1 print "" print "Done! Changed", changed, "out of", changed+unchanged, "files!" print "" raw_input('Press enter to exit.') To Fix Maps Just changing the materials will still result in lots of purple-black checkered reflections, as reflections are map-specific. Put any maps you wish to convert in the same directory, then run this script. #lowerVTFVersionsForBSPs.py #Script by Met48 #Place in tf/maps before running #Use 1 for true/on, 0 for false/off verbose=0 #Makes it output a lot more information. Only for debug buffer=2560 #Must be larger than 10! Value is in bytes. Must be smaller than largest material size!! #DO NOT EDIT BELOW HERE import os import struct from os.path import join instances = 0 changed = 0 totalCount = 0 print "Modifying files within", os.getcwd() print "Each file may take a while - do not think it has crashed!" raw_input('Press enter to begin.') for root, dirs, files in os.walk(os.getcwd()): print "Folder" , root for name in files: if '.bsp' in str.lower(name): f = open(join(root,name), 'r+b') #Open to read & write in binary if (f.read(4)!='VBSP'): #Check for signature break print "\t", name group = f.read(buffer) count=0 pos=buffer while 1: if (group.find('vtfVTF')>0): #Found instance change=-(buffer+1-group.find('vtfVTF'))+12 pos+=change+1 f.seek(change,1) ver = ord(f.read(1)) # for i in range(0,9): # print ord(f.read(1)) # raw_input('paused') # f.seek(-10,1) if ver 4: count+=1 f.seek(-1,1) pos-=1 f.write(struct.pack('i',3)) if verbose>0: print "\t\twrote byte, pos",pos else: if verbose>0: print "\t\tskipped byte, was",ver if (len(group)0: print '*\t\tChanged', count, 'materials in', name changed+=1 totalCount+=count else: print '\t\tSkipped', name, '(no change)' instances+=1 break print "" print "Done!\tChanged", changed, "BSP files out of", instances, "files!" print "\tChanged", totalCount, "materials in total!" print "" raw_input('Press enter to exit.') Between these two scripts, all model and map textures can be updated to the modern release. Known Bugs (With Solutions) Black Playermodels This is due to the introduction of Jarate. To fix this, you need to remove every instance of "$yellow" "0" within the playermodels' .vmt files in root/tf/materials/models/player// (where root is the root folder of your SFM directory). You can do this using Notepad. The files that have the line are: *_blue.vmt *_red.vmt *_head_blue.vmt *_head_red.vmt You will need to do this for all 9 classes. White Medigun This is an extremely simple fix. Open root/tf/materials/models/weapons/w_medigun/w_medigun01.vmt with Notepad and delete the the two lines starting with "$selfillum Removing countdown timer / Waiting for player by Swampie Simply place this in your autoexec: //MovieMaker alias "setup" "sv_cheats 1; mat_specular 0; mp_usehwmmodels 1; mp_usehwmvcds 1; mp_waitingforplayers_cancel 1; ent_fire team_round_timer pause" It will stop purple windows, Load higher quality models and stop both countdowns when you type "setup" into the console without " and " Loading SFM in other games by Djshox #First, back up your TF2 beta directory somewhere safe. #Mystfit and I have only really messed with Portal, but we think you can get just about anything running. You gotta copy the game's content GCF and overwrite everything in the /tf directory EXCEPT for the bin folder. It is important that you leave it unaltered. #Rename the Program Files/Team Fortress 2/tf folder to whatever game you're trying to run, like for example I had to change mine to Program Files/Team Fortress 2/portal, EP2 would obviously be Program Files/Team Fortress 2/ep2, etc. #Go into the Source Binaries 2007 GCF and extract the vtex_dll.dll to your Program Files/Team Fortress 2/bin folder. #Adjust the target of your shortcut to match the game. Instead of :: -game tf -tools -console -applaunch 440 -window -noborder -novid :: portal would be :: -game portal -tools -console -applaunch 400 -window -noborder -novid And that's it. Just a small note, you won't be able to use gestures or voice commands. Heck half the weapon fire effects won't show up, but otherwise there it is. Color Correction Method 1 by HoodedSniper #Record a scene #Right click your scene bar and zoom in #Create a new track in take1 #Select Effects. #Now add a clip to the new track by right clicking and add clip. #Choose Color Correction #Go to properties. #Select file and choose tfhallway.raw in the tf folder. #Extend the effect clip to whatever length you want it to be. #You're done. Use the Color Correction technique below to made your own .Raw files so you can easily select color correction files for use, using this technique. Method 2 by Pikablu07 Type this into the console: ent_create color_correction colorcorrectionui Fire Texture Fix by Pandamobile #Download this -> http://dl.dropbox.com/u/3797244/fire...owTiled512.vtf #Place the downloaded file in root\tf\materials\Effects\tiledfire\ (where root is the root folder of the SFM directory.